var root = {
  val: 1,
  left: {
    val: 2,
    left: {
      val: 4
    },
    right: {
      val: 3
    }    
  },
  right: {
    val: 2,
    left: {
      val: 3
    },
    right: {
      val: 4
    }
  }
}

var isSymmetric = function(root) { // 检查二叉树是否是对称的递归解法  递归：将复杂问题分解成一个容易解决的问题
  var isMirror = function (left, right) {
    if (left == null && right == null) return true; // 左边右边都是空的
    if (left == null || right == null) return false; // 左边和右边只有一边有值
    if (left.val != right.val) return false; // 左边和右边的值不同
    return isMirror(left.left, right.right) && isMirror(left.right, right.left) // 递归检查镜像
  }

  if (root === null) return true;
  return isMirror(root.left, root.right);
};

console.log(isSymmetric(root))